// CherryMerry ( Mikhail Tomilenko ), Reverse Entertainment, 2021-2024

#pragma once

#include "CoreMinimal.h"
#include "I_Core.generated.h"

UINTERFACE(MinimalAPI, Blueprintable)
class UI_Core : public UInterface
{
	GENERATED_BODY()

};

class II_Core
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Core | System")
	void LevelOpened();

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Core | System")
	void LevelLoaded();

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Core | System")
	void Initialize();

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Core | System")
	void InitializeNewGame();

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Core | System")
	void InitializeLoadGame();

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Core | Player | Movement")
	void UpdatePlayerSpeed(float SpeedToSet, bool bCrouched);
};
